package space.jevin.jevinboot.constant;

import com.baomidou.mybatisplus.annotation.EnumValue;

/**
 * 状态标志枚举。
 *
 * @author zhangjiehang
 * @version 1.0.0
 * @date 2021-05-17 10:06:12
 * @since 1.0.0
 */
public enum StatusFlagEnum {

    /**
     * 停止。
     */
    STOP(0),
    /**
     * 开始。
     */
    START(1);

    /**
     * 状态标志枚举
     *
     * @param type 类型
     */
    StatusFlagEnum(Integer type){
        this.type = type;
    }

    /**
     * 类型。
     */
    @EnumValue
    private final Integer type;

    /**
     * 被类型状态标志
     * 判断参数合法性
     *
     * @param type 类型
     * @return boolean
     */
    public static boolean getStatusFlagByType(Integer type) {
        for (StatusFlagEnum statusFlagEnum : StatusFlagEnum.values()) {
            if (statusFlagEnum.getType().equals(type)) {
                return true;
            }
        }
        return false;
    }

    /**
     * 得到类型
     *
     * @return {@link Integer}
     */
    public Integer getType() {
        return type;
    }
}
